In computing, a shell builtin is a command or a function, called from a shell, that is executed directly in the shell itself, instead of an external executable program which the shell would load and execute.
Shell builtins work significantly faster than external programs, because there is no program loading overhead. However, their code is inherently present in the shell, and thus modifying or updating them requires modifications to the shell. Therefore shell builtins are usually used for simple, almost trivial, functions, such as text output. Because of the nature of some operating systems, some functions of the systems must necessarily be implemented as shell builtins. The most notable example is the cd
command, which changes the working directory of the shell. Because each executable program runs in a separate process, and working directories are specific to each process, loading cd
as an external program would not affect the working directory of the shell that loaded it.
A widely used shell-builtin is the logout
function, which terminates the session. This function has different names depending on the shell.
Some examples from bash include cd
, echo
, and history
. The help
bash-builtin command will list all builtins.